/*
 ============================================================================
 Name        : heritage.c
 Author      : B3333 - DE POTTER - LECORNU
 Version     :
 Copyright   :
 Description :
 ============================================================================
 */

#include <iostream>
#include <string>
#include "Word.h"
#include "WordGrp.h"
#include "Dictionnary.h"
using namespace std;

int main(void) {
	int choice;
	string chaine;
	string language;
	Dictionnary newDico;
	Word *mot;
	WordGrp *groupeMot;

	while (1)
	{
	cout << "---------------------------------------------------" << endl;
	cout << "Que faire ?                                        " << endl;
	cout << " 1 -> Ajouter un mot dans le dictionnaire          " << endl;
	cout << " 2 -> Ajouter un groupe de mot dans le dictionnaire" << endl;
	cout << " 3 -> Chercher un mot dans le dictionnaire         " << endl;
	cout << " 4 -> Sauvegarder le dictionnaire                  " << endl;
	cout << " 5 -> Charger le dictionnaire                      " << endl;
	cout << " 6 -> Afficher le dictionnaire                     " << endl;
	cout << "---------------------------------------------------" << endl;
	cout << " Choix : ";
	cin >> choice;
	cout << endl;
	if (cin.peek() == '\n')
			while (cin.get() != '\n');

	switch (choice)
	{
		case 1 : cout << " Donner un mot : ";
				 getline(cin, chaine);
				 cout << " Donner la langue : ";
				 cin >> language;
				 mot = new Word(chaine,language);
				 newDico.InsertInDico(*&mot);
				 cout << " Mot ajouté" << endl << endl;
				 break;

		case 2 : cout << " Donner une expression : ";
			     getline(cin, chaine);
				 cout << " Donner la langue : ";
				 cin >> language;
				 groupeMot = new WordGrp(chaine,language);
				 newDico.InsertInDico(*&groupeMot);
				 cout << " Groupe de mot ajouté" << endl << endl;
				 break;

		case 3 : cout << " Donner un mot : ";
				 getline(cin, chaine);
				 cout << endl;
				 if (newDico.FindInDico(chaine) == true)
					cout << " Le mot " << chaine << " est dans le dictionnaire" << endl << endl;
				 else
					 cout << " Le mot " << chaine << " n'est pas dans le dictionnaire" << endl<<endl;
				 break;

		case 4 :
				 break;

		case 5 :
				 break;

		case 6 : newDico.DisplayDico();
				 break;

	}
	}
	return 0;
}
